﻿using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using CID.Domain.Development;
using CID.Domain.Operations;
using CID.Execution.Support.Information;

namespace CID.Execution.Support.Scripting
{
    [DataContract]
    public class LocationDeploymentScript : IScript<DeploymentScriptStep>
    {
        public LocationDeploymentScript(Guid deploymentUniqueIdentifier, IRelease release, ILocation location, IEnumerable<DeploymentScriptStep> steps)
        {
            DeploymentUniqueIdentifier = deploymentUniqueIdentifier;
            Release = new ReleaseInfo(release);
            LocationId = location.Id;
            Steps = steps;
        }

        [DataMember]
        public Guid DeploymentUniqueIdentifier { get; set; }

        [DataMember]
        public int LocationId { get; set; }

        [DataMember]
        public IEnumerable<DeploymentScriptStep> Steps { get; set; }

        [DataMember]
        public ReleaseInfo Release { get; set; }
    }
}
